package com.lecyon.farm.vo.modify;

import com.lecyon.farm.base.BaseVo;
import com.lecyon.farm.common.constant.CommonConstant;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.hibernate.validator.constraints.Length;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

/**
 * 农机基本信息同步表
 *
 * @author YaoZheng
 * @since 2020-04-13
 */
@Data
@ApiModel("编辑农机基本信息同步Vo")
public class ModifyFmSyncCarVo extends BaseVo {

    @ApiModelProperty(name = "id", value = "ID")
    @NotNull(message = "id不能为空")
    private Long id;

    @ApiModelProperty(name = "fmCarId", value = "fmCar的主键ID")
    private String fmCarId;

    @ApiModelProperty(name = "carId", value = "主机号")
    @NotBlank(message = "主机号不能为空")
    @Length(min = CommonConstant.MIN_LENGTH_FIELD, max = CommonConstant.MAX_LENGTH_FIELD, message = "主机号长度必须在{min} ~ {max}之间")
    private String carId;

    @ApiModelProperty(name = "owner", value = "车主")
    @Length(min = CommonConstant.MIN_LENGTH_FIELD, max = CommonConstant.MAX_LENGTH_FIELD, message = "车主名称长度必须在{min} ~ {max}之间")
    private String owner;

    @ApiModelProperty(name = "ownerPhone", value = "电话")
    @Length(min = CommonConstant.MIN_LENGTH_FIELD, max = CommonConstant.MAX_LENGTH_DICT_FIELD, message = "电话长度必须在{min} ~ {max}之间")
    private String ownerPhone;

    @ApiModelProperty(name = "workType", value = "作业类型")
    @NotBlank(message = "作业类型不能为空")
    @Length(min = CommonConstant.MIN_LENGTH_FIELD, max = CommonConstant.MAX_LENGTH_DICT_FIELD, message = "作业类型长度必须在{min} ~ {max}之间")
    private String workType;

    @ApiModelProperty(name = "width", value = "宽幅")
    private String width;

    @ApiModelProperty(name = "location", value = "区域")
    @Length(min = CommonConstant.MIN_LENGTH_FIELD, max = CommonConstant.MAX_LENGTH_FIELD, message = "区域长度必须在{min} ~ {max}之间")
    private String location;

    @ApiModelProperty(name = "province", value = "省份")
    @Length(min = CommonConstant.MIN_LENGTH_FIELD, max = CommonConstant.MAX_LENGTH_FIELD, message = "省份长度必须在{min} ~ {max}之间")
    private String province;

    @ApiModelProperty(name = "city", value = "市级")
    @Length(min = CommonConstant.MIN_LENGTH_FIELD, max = CommonConstant.MAX_LENGTH_FIELD, message = "城市长度必须在{min} ~ {max}之间")
    private String city;

    @ApiModelProperty(name = "county", value = "区县")
    @Length(min = CommonConstant.MIN_LENGTH_FIELD, max = CommonConstant.MAX_LENGTH_FIELD, message = "区县长度必须在{min} ~ {max}之间")
    private String county;

    @ApiModelProperty(name = "towns", value = "乡镇")
    @Length(min = CommonConstant.MIN_LENGTH_FIELD, max = CommonConstant.MAX_LENGTH_FIELD, message = "乡镇长度必须在{min} ~ {max}之间")
    private String towns;

    @ApiModelProperty(name = "cooperation", value = "合作社")
    @Length(min = CommonConstant.MIN_LENGTH_FIELD, max = CommonConstant.MAX_LENGTH_FIELD, message = "合作社长度必须在{min} ~ {max}之间")
    private String cooperation;

    @ApiModelProperty(name = "company", value = "公司")
    @Length(min = CommonConstant.MIN_LENGTH_FIELD, max = CommonConstant.MAX_LENGTH_FIELD, message = "公司长度必须在{min} ~ {max}之间")
    private String company;

    @ApiModelProperty(name = "dept1", value = "机构1")
    @Length(min = CommonConstant.MIN_LENGTH_FIELD, max = CommonConstant.MAX_LENGTH_FIELD, message = "机构1长度必须在{min} ~ {max}之间")
    private String dept1;

    @ApiModelProperty(name = "dept2", value = "机构2")
    @Length(min = CommonConstant.MIN_LENGTH_FIELD, max = CommonConstant.MAX_LENGTH_FIELD, message = "机构2长度必须在{min} ~ {max}之间")
    private String dept2;

    @ApiModelProperty(name = "dept3", value = "机构3")
    @Length(min = CommonConstant.MIN_LENGTH_FIELD, max = CommonConstant.MAX_LENGTH_FIELD, message = "机构3长度必须在{min} ~ {max}之间")
    private String dept3;

    @ApiModelProperty(name = "is_need_sync", value = "是否需要同步")
    @Length(min = CommonConstant.MIN_LENGTH_FIELD, max = CommonConstant.MAX_LENGTH_BOOLEAN_FIELD, message = "布尔类型长度必须在{min} ~ {max}之间")
    private String isNeedSync;

}
